(i) Field of the Invention
The present invention relates to a selection intermediary apparatus for selecting and relaying a message, a transmission apparatus for transmitting the message, a selection intermediary program storage medium in which a selection intermediary program is stored to operate a computer system as the selection intermediary apparatus, and a transmission program storage medium in which a transmission program is stored to operate the computer system as the transmission apparatus.
(ii) Description of the Related Art
In the present day when networks such as Internet and Intranet are developed, a large number of servers are present on the network. A user selects a server in accordance with a purpose through a client program, and accesses the server to perform processings such as information retrieval and registration to a database. This access is realized when a message requiring the processing is transmitted on the network.
When a plurality of servers are present in this manner, in a conventional art, a client side needs to know the following two pieces of information beforehand:
(1) the place where the server exists (server address); and
(2) the service presented by the server (server service content).
Here, since the service content of the server is used as a condition in selecting the server, it is hereinafter referred to as the xe2x80x9cserver conditionxe2x80x9d. Moreover, a pair of the above information (1) and (2) is referred to as a xe2x80x9crulexe2x80x9d, and a group of rules is referred to as xe2x80x9cpath informationxe2x80x9d because a message transmission path is determined. Furthermore, the message requiring the processing is hereinafter referred to as the xe2x80x9crequestxe2x80x9d in some cases.
The path information is obtained by the user in a certain method and inputted during operation of a client program, or is directly embedded in the client program. Therefore, when the address or condition of the server changes, the information needs to be notified to the user, or the client program needs to be changed every time. However, when the server address, and the like frequently change, the notification or change is difficult.
Therefore, in order to solve the problem, there has been developed an intermediary system in which a program or a selection intermediary apparatus, referred to as an agent, is placed in a certain address on a network, and the agent selects and relays a message between a client and a server. In a most basic constitution of the intermediary system, only one agent is disposed between the client and the server.
FIG. 1 is a schematic view of an intermediary system by a single agent.
One or more sets of a server condition and an address are registered in Agent 1. Client C knows the address of Agent 1, and once sends all requests to Agent 1. The request sent from the client C is constituted of a client designated condition indicating the server designated by the client C for sending the request, and a request text to be sent to the selected server. The client designated condition is compared with a server condition, and only the request which satisfies the server condition is sent to Server 1, Server 2 indicated by the address corresponding to the server condition. Specifically, Agent 1 compares the client designated condition with the server condition, selects the appropriate server Server 1, Server 2 which satisfies the request from the client C, and transfers the request from the client C. Thereafter, a response obtained as a result of a processing by Server 1, Server 2 is returned to the client C. In this intermediary system, since the user or the client does not have to know the address or service content of the server beforehand, the burden on the client side is light. Moreover, in the intermediary system, since the path information is concentrated on one place, maintenance is easy.
The above-described system by the single agent can easily be constructed, and operates without any problem when the system scale is small. However, when the system intends to be enlarged still with the single agent, various problems arise.
First, a problem occurs that the load during the operation is concentrated on the agent. In the system by the single agent, all communications between the client and the server are concentrated on one agent. Therefore, when the number of clients or servers increases, the agent is easily bottlenecked.
Moreover, when the network is connected to a large number of servers, the server management including the management of the server condition, and the like is allotted to a plurality of managers in many cases. However, in the system by the single agent, since the path information including the server condition to be managed by each manager is concentrated on one agent, it is difficult to limit the range of the server condition to be opened to the public, and a problem on security easily occurs.
Since such problem occurs in the system by the single agent, an intermediary system has to be constructed by a plurality of agents particularly for an enlarged system scale. Moreover, when the intermediary system by the agent is spread, one system is constructed by connecting the systems each operating by the single agent to one another in many cases. In this case, instead of combining a plurality of already operating agents to construct the system by a single huge agent, when the system is constructed by a plurality of agents so that the agents perform communication and cooperate with one another, the system is easily realized without necessarily modifying the existing system.
FIG. 2 is a schematic view of the intermediary system by a plurality of agents.
In the system by the plurality of agents, when the agent transfers the request from the client to the server connected to another agent, the agent needs to know the server condition, and the like owned by the other agent.
The system of teaching the server condition, and the like to the other agent from the certain agent is roughly divided to two types of systems, an advertisement system and a replication system.
FIG. 3 is an explanatory view of the advertisement system.
In the advertisement system, a certain agent generates a rule whose address is rewritten to its own address based on its own rule, and propagates and registers the generated rule to another agent. This registration extends a link for transferring the request to the other agent from the agent. In an example shown in FIG. 3, Agent 2 rewrites its rule address xe2x80x9cServer 3xe2x80x9d, xe2x80x9cServer 4xe2x80x9d, to its own address xe2x80x9cAgent 2xe2x80x9d, and transmits the address together with server conditions xe2x80x9cCondition 3xe2x80x9d, xe2x80x9cCondition 4xe2x80x9d to Agent 1, and as a result, a conditioned link is extended to Agent 2 from Agent 1. In the following, the agent to which the server condition, and the like are registered, such as Agent 1, is referred to as a xe2x80x9cclient-side agentxe2x80x9d, and the agent which sends the server condition, and the like, such as Agent 2, is referred to as a xe2x80x9cserver-side agentxe2x80x9d. The server condition registered in the client-side agent is explicitly set (conditioned link) in some cases, and the condition is not particularly set (unconditioned link) in other cases. Moreover, as seen from the server-side agent, the client-side agent functions as a message transmission apparatus.
When the above-described conditioned link is extended, the request reaching the client-side Agent 1 from the client C is first compared with the server condition owned by the client-side Agent 1. When the server condition is satisfied, the request is transferred to the server-side Agent 2 which is designated as a transfer destination. Subsequently, the request is compared with the server condition owned by the server-side Agent 2, and the next transfer-destination server is determined. When the server condition, and the like are propagated in this manner in the advertisement system, the request from the client C is necessarily passed via the server-side Agent 2 in which the server is already registered. The propagation of the server condition, and the like by the advertisement system is hereinafter referred to simply as xe2x80x9cadvertisementxe2x80x9d in some cases.
FIG. 4 is an explanatory view of the replication system.
In the replication system, the agent propagates and registers a copy of the set (rule) of the server condition and server address owned by itself to the other agent. Since the server addresses are registered in the agent having received the copy, the request is directly sent to the servers.
As the example resulting, from propagation of the copy by the replication system, FIG. 4 shows an example in which the copies of the server conditions xe2x80x9cCondition 3xe2x80x9d, xe2x80x9cCondition 4xe2x80x9d and addresses xe2x80x9cServer 3xe2x80x9d, xe2x80x9cServer 4xe2x80x9d owned by the server-side Agent 2 are propagated to the client-side Agent 1. As a result of the propagation, Agent 1 and Agent 2 have the same server conditions xe2x80x9cCondition 3xe2x80x9d, xe2x80x9cCondition 4xe2x80x9d, and Agent 1 uses the server conditions xe2x80x9cCondition 3xe2x80x9d, xe2x80x9cCondition 4xe2x80x9d to evaluate the request from the client C by itself, so that the request is directly sent to the Server 3, Server 4 without being passed via Agent 2. The propagation of the copy by the replication system is hereinafter referred to simply as xe2x80x9creplicationxe2x80x9d in some cases.
When the above-described advertisement or replication is executed, and the respective server conditions and addresses are generated based on the rule and propagated to the client-side agent, the respective server conditions are usually generated with respect to all the rules constituting the path information owned by the server-side agent. Therefore, the group of the sets of the server conditions and addresses propagated to the client-side agent is also referred to as the xe2x80x9cpath informationxe2x80x9d in some cases.
Additionally, in the system in which a large number of servers and agents are connected via the communication network, it is contemplated that the disconnection of the servers constituting the system from the system, or the interruption of the communication network for connecting the servers and agents frequently occurs. Therefore, there is a high possibility that the server conditions and addresses propagated by the above-described advertisement and replication form incorrect information in some periods. Therefore, it is preferable to set an effective period to the server condition to be propagated, and again perform the advertisement before the effective period elapses.
However, when the system scale is large, a problem is that the propagation amount of the server conditions propagated in the entire system by the advertisement or the replication increases, thereby raising the propagation cost.
Moreover, in the advertisement in which the server condition is unconditioned, since the information amount of the server condition is small, the above-described propagation cost is low. However, since any message is transferred to the server-side agent without any condition, there is a problem that the message transfer cost is high.
In consideration of the above-described situations, an object of the present invention is to provide a selection intermediary apparatus which can reduce the cost of an intermediary system, a transmission apparatus which can reduce the intermediary system cost, a selection intermediary program storage medium in which a selection intermediary program is stored to operate a computer system as the selection intermediary apparatus, and a transmission program storage medium in which a transmission program is stored to operate the computer system as the transmission apparatus.
To attain the above-described object, according to the present invention, there is provided a selection intermediary apparatus comprising: reception means for receiving a message transmitted from a transmission apparatus for transmitting the message;
output means for selecting and outputting the message received by the reception means on a predetermined condition;
condition generation means for generating a condition more moderate than the selection condition based on the selection condition of the output means; and
advertisement means for presenting the condition generated by the condition generation means to the transmission apparatus, and requesting the transmission apparatus to select and transmit the message on the condition.
Here, the xe2x80x9ccondition more moderate than the selection conditionxe2x80x9d means that the message including the message selected in accordance with the selection condition is selected, and that more messages than the messages selected in accordance with the selection condition are selected. Moreover, xe2x80x9cbased on the selection conditionxe2x80x9d means that the above-described unconditioned state is excluded.
According to the selection intermediary apparatus of the present invention, the condition generation means generates the xe2x80x9ccondition more moderate than the selection conditionxe2x80x9d, and the advertisement means applies the generated condition to the transmission apparatus. Specifically, the above-described advertisement is extended.
In this extended advertisement, for the server condition propagated to the client-side agent, the same server condition as the original server condition owned by the server-side agent is a most detailed and strict condition, and no-condition with nothing designated is a most abstract and moderate condition.
When the server condition registered in the client-side agent is contradictory to the server condition held by the server-side agent, or is more restrictive than the server condition, even the request satisfying the original server condition held by the server-side agent is probably inhibited from being transferred to the server-side agent. Specifically, the transfer of the request which originally has to be transferred to the server is inhibited, and a problem arises.
Conversely, when the server condition more moderate and abstract than the original server condition is registered in the client-side agent by the above-described extended advertisement, the client-side agent transfers a new request to the server-side agent because of the abstracted server condition. However, since the new request does not satisfy the server condition owned by the server-side agent, the transfer to the server is inhibited. Specifically, as seen from the server, even when the abstracted condition is used by the client-side agent, the request sent to the server is unchanged and has no problem.
Additionally, generally, the detailed server condition requires a large data size for representing the server condition, and also requires a high propagation cost. Therefore, in the above-described extended advertisement, the propagation cost of the server condition has a tradeoff relation with the transfer cost of the request from the client. For example, when the server condition of the server-side agent is completely copied to the client-side agent, only the request satisfying the server condition is transferred among the requests from the client. Therefore, the cost for transferring the request from the client is minimized, but the cost for propagating the server condition is maximized. Conversely, when the server condition is unconditioned, the cost for propagating the server condition is minimized. However, since all the requests are transferred to the server-side agent, the request transfer cost is maximized. Therefore, in the advertisement in which the condition more moderate than the server condition of the server-side agent is propagated, both the server condition propagation cost and the request transfer-cost are reduced, thereby reducing the total cost of the intermediary system.
In the selection intermediary apparatus of the present invention, may, the output means selects and outputs the message received by the reception means in accordance with a composite condition constituted of the logical product of a plurality of individual conditions, and
in generating the condition, the condition generation means generate the condition constituted of the logical product of the remaining individual conditions obtained by excluding one or more individual conditions from the above-described plurality of individual conditions.
Alternatively, may, the output means outputs the message received by the reception means to a plurality of output destinations, and selects and outputs the message on the composite condition according to the output destination constituted of the logical product of one or more individual conditions, and
in generating the condition, the condition generation means extract the individual conditions common to the respective composite conditions of the selection by the output means, and generate the condition constituted of the logical product of the extracted individual conditions.
A procedure of generating the condition by the condition generation means will be described later in detail.
Moreover, in the selection intermediary apparatus of the present invention, it is preferable that, the condition generation means receives a predetermined instruction, and newly generates a condition more moderate than the selection condition by the output means and stricter than the condition already applied to the transmission apparatus by the advertisement means.
the selection intermediary apparatus comprises first cost comparison means which compares an application cost necessary for applying the condition newly generated by the condition generation means to the transmission apparatus with a transmission cost necessary for transmitting the message stopped from being transmitted from the transmission apparatus if the newly generated condition is applied to the transmission apparatus, and
when the transmission cost is larger as a result of comparison by the first cost comparison means, the advertisement means preferably applies the condition newly generated by the condition generation means to the transmission apparatus.
According to the selection intermediary apparatus provided with the first cost comparison means, advertisement is performed based on the cost comparison by the first cost comparison means, so that the cost is further lowered.
Furthermore, the selection intermediary apparatus of the present invention further comprises: second cost comparison means for obtaining and comparing an intermediary cost of the message received by the reception means, with a transmission cost if the message is directly transmitted to the output destination of the output means from the transmission apparatus;
replication means for applying the same condition as the selection condition by the output means to the transmission apparatus, and requesting the transmission apparatus to select the message in accordance with the applied condition and directly transmit the message to the output destination of the output means; and
switch means for operating the replication means instead of the advertisement means when a result of comparison by the second cost comparison means shows that the transmission cost is lower than the intermediary cost.
According to the selection intermediary apparatus provided with the switch means, and the like, when replication is cost-effective, the replication is employed instead of the advertisement. This further reduces the cost.
To attain the above-described object, according to the present invention, there is provided a first transmission apparatus comprising: input means to which a message is inputted;
transmission means for selecting and transmitting the message inputted to the input means;
condition acquirement means for acquiring a condition of selection by the transmission means from the transmission destination of the transmission means;
third cost comparison means for comparing a necessary transmission cost if the message inhibited from being transmitted as a result of the selection is transmitted by the transmission means, with an acquirement cost necessary for acquiring the condition by the condition acquirement means; and
first transfer means for transferring the comparison result by the third cost comparison means to the transmission destination.
According to the first transmission apparatus of the present invention, the comparison result of the message transmission cost with the condition acquirement cost by the third cost comparison means is transmitted to the transmission destination. Moreover, since the condition acquirement means acquires the new condition, the total cost is reduced.
To attain the above-described object, according to the present invention, there is provided a second transmission apparatus comprising: input means to which a message is inputted;
transmission means for transmitting the message inputted to the input means;
fourth cost comparison means for obtaining and comparing a message transmission cost with an intermediary cost incurred if the message is relayed by an intermediary apparatus for relaying the message; and
second transfer means for transferring the comparison result by the fourth cost comparison means to the intermediary apparatus.
According to the second transmission apparatus of the present invention, the comparison result of the message transmission cost with the intermediary cost by the fourth cost comparison means is transmitted to the intermediary apparatus. Therefore, the intermediary apparatus can select a more cost-effective method.
To attain the above-described object, according to the present invention, there is provided a selection intermediary program storage medium which stores a selection intermediary program comprising: reception means for receiving a message transmitted from a transmission apparatus for transmitting the message;
output means for selecting and outputting the message received by the reception means on a predetermined condition;
condition generation means for generating a condition more moderate than the selection condition based on the selection condition by the output means; and
advertisement means for applying the condition generated by the condition generation means to the transmission apparatus, and requesting the transmission apparatus to select and transmit the message on the condition.
To attain the above-described object, according to the present invention, there is provided a first transmission program storage medium which stores a transmission program comprising: input means to which a message is inputted;
transmission means for selecting and transmitting the message inputted to the input means;
condition acquirement means for acquiring a condition of selection by the transmission means from the transmission destination of the transmission means;
third cost comparison means for comparing a necessary transmission cost incurred if the message inhibited from being transmitted is transmitted as a result of the selection by the transmission means, with an acquirement cost necessary for acquiring the condition by the condition acquirement means; and
first transfer means for transferring the comparison result by the third cost comparison means to the transmission destination.
To attain the above-described object, according to the present invention, there is provided a second transmission program storage medium which stores a transmission program comprising: input means to which a message is inputted;
transmission means for transmitting the message inputted to the input means;
fourth cost comparison means for obtaining and comparing a message transmission cost with an intermediary cost incurred if the message is relayed by an intermediary apparatus for relaying the message; and
second transfer means for transferring the comparison result by the fourth cost comparison means to the intermediary apparatus.
Additionally, for the selection intermediary program of the present invention, only the basic form is described herein to avoid redundancy, and the selection intermediary program of the present invention includes not only the above-described basic form of the selection intermediary program but also various forms of selection intermediary programs for the above-described forms of the selection intermediary apparatus.
Moreover, for the selection intermediary apparatus and transmission apparatus, and the selection intermediary program and transmission program of the present invention, as the names of constituting elements, the same appellations are used such as the reception means and the transmission means. However, in the selection intermediary apparatus and transmission apparatus, a combination of software and hardware performing such action is indicated, and in the selection intermediary program and transmission program, only the software part performing the action is indicated.
As described above, according to the present invention, the intermediary system cost can be reduced.